package com.by.common.bean;

import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 分页结果
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
/**
 * 分页信息类，用于封装分页查询的结果。
 */
@ApiModel("分页信息")
public class PageBean<T> {

    /**
     * 当前第几页。
     * - 通过此字段记录当前所在的页面编号。
     *
     * @ApiModelProperty 注解提供了对该字段的详细描述。
     * - value = "当前第几页" 表示此字段存储的是当前所在页面的编号。
     */
    @ApiModelProperty("当前第几页")
    int page; // 用于记录当前第几页

    /**
     * 每页有几条记录。
     * - 通过此字段指定每页显示的记录数。
     *
     * @ApiModelProperty 注解提供了对该字段的详细描述。
     * - value = "每页有几条" 表示此字段存储的是每页显示的记录数量。
     */
    @ApiModelProperty("每页有几条")
    int pageSize; // 每页的记录数

    /**
     * 总记录数。
     * - 通过此字段统计整个数据集中的总记录数目。
     *
     * @ApiModelProperty 注解提供了对该字段的详细描述。
     * - value = "总条数" 表示此字段存储的是总的记录数量。
     */
    @ApiModelProperty("总条数")
    long total; // 总记录数

    /**
     * 分页结果。
     * - 通过此字段存储具体的分页查询结果数据，类型为泛型 T，可以是任何类型的数据。
     *
     * @ApiModelProperty 注解提供了对该字段的详细描述。
     * - value = "分页结果" 表示此字段存储的是分页查询的具体结果数据。
     */
    @ApiModelProperty("分页结果")
    T list; // 分页结果
}
